package Chat.System;

/**
 *
 * Classe principale
 * @author Ndanja & Papa Abdou
 */
public class ChatSystem {

    private ChatGUI gui;
    private ChatController cont;
    private ChatNI ni;

    /**
     * Creation de tous les composants du MVC et lancement de l'écoute sur le réseau
     */
    public ChatSystem() {

        cont = new ChatController();
        ni = new ChatNI();
        gui = new ChatGUI();

        gui.setController(cont);
        gui.setListContacts();

        ni.setController(cont);

        cont.setGUI(gui);
        cont.setNI(ni);
        cont.setChatSystems(this);

        ni.startListenting();

    }

    /**
     * Récupère la référence du ChatController
     * @return
     */
    public ChatController getChatController() {

        return this.cont;
    }

    /**
     * Execution à la fermeture du système
     */
    public void performExitApp() {
    }

    /**
     * Lancement du ChatGUI
     */
    public void start() {
        gui.start();
    }
}

